import { requestGetUserMsg, showModal } from "../../request/index.js";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 订单列表
    orderList: []
  },
  userInfo: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 1.假数据: 定义订单列表
    // let orderList = [
    //   {
    //     orderId: "0003",
    //     store_id: "3",
    //     store_img_url: "http://q6zagsjbu.bkt.clouddn.com/1002.jpg",
    //     storeName: "海哥饺子店",
    //     orderDate: "2020-3-13",
    //     food_name: "猪肉大葱",
    //     orderInformation: "订单已送达",
    //     totalPrice: 144444,
    //     totalNum: 999
    //   },
    //   {
    //     orderId: "0002",
    //     store_id: "2",
    //     store_img_url: "http://q6zagsjbu.bkt.clouddn.com/1003.jpg",
    //     storeName: "海哥下午茶",
    //     orderDate: "2020-3-13",
    //     food_name: "卡布奇诺",
    //     orderInformation: "等待消费",
    //     totalPrice: 50,
    //     totalNum: 3
    //   }];
    //0.获取userInfo
    var userInfo = wx.getStorageSync("userInfo") || [];
    //0.1 用户信息不存在
    if (userInfo.length < 1) {
      // wx.navigateTo({
      //   url: '../login/login',
      // });
      wx.showToast({
        title: '暂时没有订单哦',
        icon: 'none',
        image: '../../icon/jinggao.png',
        duration: 1500,
        mask: false
      });
    } else {
      //获取 用户id
      var phoneNum = userInfo.phoneNum;
      //1.第一次加载请求服务器获取订单数据
      var { data } = requestGetUserMsg({ url: "/getOrderList", data: { phoneNum: phoneNum } });
      //2.把订单数据设置到data中 缓存中
      this.setData({ orderList: data })
      wx.setStorageSync("orderList", data);
    }
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //0.获取userInfo
    var userInfo = wx.getStorageSync("userInfo") || [];
    //1.判断用户是否为空  
    if (userInfo.length < 1) {
     
      //为空操作
      // wx.navigateTo({
      //   url: '../login/login',
      // });
    } else {
      //不为空操作
      //2.判断用户是否有电话号码
      if (userInfo.phoneNum == undefined) {
        //提示需要电话号码
        // wx.showToast({
        //   title: '需要绑定电话号码',
        //   image: '../../icon/jinggao.png',
        //   duration: 1500,
        //   success: (result) => {
        //     wx.navigateTo({
        //       url: '/pages/my_center/my_center',
        //     });
        //   }
        // });
      } else {
        //获取本地的用户信息
        var userInfo = wx.getStorageSync("userInfo");
        this.userInfo = userInfo;
        //获取缓存中的订单信息  如果不为空直接赋值 , 如果为空就请求服务器获取
        let orderList = wx.getStorageSync('orderList') || [];
        if (orderList.length > 0) {
          orderList = orderList.reverse();
          this.setData({ orderList })
        } else {
          //请求服务器获取信息
          this.getOrderMsg(userInfo.phoneNum);
        }
      }

    }
  },
  async  delOrder(e) {
    // 获取到的索引是反向的,所以要根据索引获取到对象再删除, 再设置到data中,反向设置到缓存中
    let { index } = e.currentTarget.dataset;
    let orderList = this.data.orderList;
    //获取将要被删除的订单信息
    var orderDel = orderList[index];
    //请求服务器删除该订单
    var res = await showModal({ title: "是否删除此订单" });
    if (res.confirm) {
      //用户点的是确定
      await requestGetUserMsg({ url: "/deleteOrderList", data: { phoneNum: this.userInfo.phoneNum, order_id: orderDel.order_id } })
      //在本地删除该订单
      orderList.splice(index, 1);
      //把新的订单列表设置到data中
      this.setData({ orderList })
      //对该订单列表取反 设置到缓存中
      orderList.length > 0 ? wx.setStorageSync('orderList', orderList.reverse) : wx.setStorageSync('orderList', []);
    }

  },
  async getOrderMsg(phoneNum) {
    //根据phoneNum查找订单信息
    var { data } = await requestGetUserMsg({ url: "/getOrderList", data: { phoneNum: phoneNum } });
    // console.log(data);
    var orderList = data.reverse();
    this.setData({ orderList: orderList });
  },
  //跳转到首页
  changeToIndex() {
    wx.switchTab({
      url: '../index/index'
    });
  },
  onPullDownRefresh(){
    this.onLoad()
  }
})